<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客列表</title>
    <link rel="stylesheet" href="css/list.css">
    <link rel="stylesheet" href="css/blog_list.css">
    <style>

        .nav {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            height: 50px;
        }

        .container {
            padding-top: 80px;
            height: auto;
        }

        .container-right {
            width: auto;
        }

        .blog-pagnation-wrapper {
            height: 40px;
            margin: 16px 0;
            text-align: center;
        }

        .blog-pagnation-item {
            display: inline-block;
            padding: 8px;
            border: 1px solid #d0d0d5;
            color: #333;
        }

        .blog-pagnation-item:hover {
            background: #4e4eeb;
            color: #fff;
        }

        .blog-pagnation-item.actvie {
            background: #4e4eeb;
            color: #fff;
        }

    </style>
    <script src="js/jquery.min.js"></script>
    <script src="js/sessiontools.js"></script>
    <script src="js/urltools.js"></script>
</head>

<body>
<!-- 导航栏 -->
<div class="nav">
    <img src="img/logo2.jpg" alt="">
    <span class="title">我的博客系统</span>
    <!-- 用来占据中间位置 -->
    <span class="spacer"></span>
    <span id="userElement" style="display: none;">
                <a href="blog_add.html">写博客</a>
                <a href="javascript:logout()">注销</a>
            </span>

    <a id="loginElement" href="login.html">登陆</a>
</div>
<!-- 版心 -->
<div class="container">
    <!-- 右侧内容详情 -->
    <div class="container-right" style="width: 100%;">
        <!-- 每一篇博客包含标题, 摘要, 时间 -->
        <div id="artlist">
            <div class="blog">
                <div class="title">我的第一篇博客</div>
                <div class="date">2021-06-02</div>
                <div class="desc">正文</div>
                <a href="blog_content.html?id=1" class="detail">查看全文 &gt;&gt;</a>
            </div>
            <div class="blog">
                <div class="title">我的第一篇博客</div>
                <div class="date">2021-06-02</div>
                <div class="desc">正文</div>
                <a href="blog_content.html?id=1" class="detail">查看全文 &gt;&gt;</a>
            </div>
        </div>

        <hr>
        <div id="pageDiv" class="blog-pagnation-wrapper">
            <button class="blog-pagnation-item" onclick="doFirst()">首页</button>
            <button class="blog-pagnation-item" onclick="doPre()">上一页</button>
            <button class="blog-pagnation-item" onclick="doNext()">下一页</button>
            <button class="blog-pagnation-item" onclick="doLast()">末页</button>
        </div>
    </div>
</div>

<script>
    function isLogin() {
        jQuery.ajax({
            url: "/user/islogin",
            type: "post",
            data: {},
            success: function (res) {
                if (res.code === 200 && res.data === 1) {
                    // 已经登录
                    jQuery("#loginElement").hide(); // 隐藏html控件
                    jQuery("#userElement").show(); // 显示 html 控件
                } else {
                    jQuery("#loginElement").show(); // 隐藏html控件
                    jQuery("#userElement").hide(); // 显示 html 控件
                }
            }
        });
    }

    isLogin();

    let pageIndex = 1; // 当前页面
    let pageSize = 2; // 每页显示条数
    let pageCount = 1; // 总页数

    // 初始化参数
    function pageInit() {
        let paramPageIndex = getParamByKey("pageIndex");
        let paramPageSize = getParamByKey("pageSize");
        if (paramPageIndex !== false) {
            pageIndex = paramPageIndex;
        }
        if (paramPageSize !== false) {
            pageSize = paramPageSize;
        }
        doAjax();
    }

    pageInit();

    // 点击上一页
    function doPre() {
        if (pageIndex <= 1) {
            alert("当前已经在首页!");
            return false;
        }
        pageIndex = pageIndex - 1;
        location.href = "blog_list.html?pageIndex=" + pageIndex + "&pageSize=" + pageSize;
    }

    // 点击下一页
    function doNext() {
        if (pageIndex >= pageCount) {
            alert("当前已经在末页!");
            return false;
        }
        ++pageIndex;
        location.href = "blog_list.html?pageIndex=" + pageIndex + "&pageSize=" + pageSize;
    }

    // 点击末页
    function doLast() {
        if (pageIndex >= pageCount) {
            alert("当前已经在末页!");
            return false;
        }
        location.href = "blog_list.html?pageIndex=" + Math.ceil(pageCount) + "&pageSize=" + pageSize;
    }

    // 点击首页
    function doFirst() {
        if (pageIndex <= 1) {
            alert("当前已经在首页!");
            return false;
        }
        pageIndex = 1;
        location.href = "blog_list.html?pageIndex=" + pageIndex + "&pageSize=" + pageSize;
    }

    // 请求后端, 得到数据并展示列表
    function doAjax() {
        jQuery.ajax({
            url: "art/getlistbypage",
            type: 'post',
            data: {
                "pageIndex": pageIndex,
                "pageSize": pageSize
            },
            success: function (body) {
                if (body.code === 200 && body.data.length > 0) {
                    let artListHtml = "";
                    for (let i = 0; i < body.data.length; i++) {
                        const articleinfo = body.data[i];
                        artListHtml += '<div class="blog">';
                        artListHtml += '<div class="title">' + articleinfo.title + '</div>';
                        artListHtml += '<div class="date">' + articleinfo.createtime + '</div>';
                        artListHtml += '<div class="desc">' + articleinfo.content + '</div>';
                        artListHtml += '<a href="blog_content.html?id=' + articleinfo.id
                            + '" class="detail">查看全文 &gt;&gt;</a>';
                        artListHtml += '</div>';
                    }
                    jQuery("#artlist").html(artListHtml);
                    jQuery("#pageDiv").show();
                } else {
                    jQuery("#pageDiv").hide();
                    jQuery("#artlist").html("<h2 style='margin-left:20px;margin-top:10px;'>暂无文章!</h2>");
                }
            }
        });

        // 查询文章的总条数得出文章总页数
        jQuery.ajax({
            url: "/art/getcount",
            type: 'post',
            success: function (body) {
                if (body.code === 200 && body.data > 0) {
                    // 计算总页数
                    pageCount = Math.ceil(body.data / pageSize);
                }
            }
        });

    }


</script>
</body>
</html>